package com.example.demo.service;

import com.example.demo.dto.AttributeListRequestDTO;
import com.example.demo.dto.AttributeLogRequestDTO;
import com.example.demo.controller.bean.Result;
import com.example.demo.mapper.entity.Attribute;
import com.example.demo.mapper.entity.StudentAttributeView;
import com.example.demo.utils.PageBo;
import com.example.demo.utils.PageVo;

import java.util.List;

public interface AttributeManageService {
    PageVo<Attribute> getAttributeList(PageBo pageBo);

    PageVo<Attribute> searchAttributeList(String name, PageBo pageBo);


    Result<String> addAttribute(AttributeListRequestDTO request);


    Result<String> deleteAttributeList(Attribute attribute);

    void batchDeleteAttributeList(List<Attribute> attributeList);

    Result<String> updateAttributeList(AttributeListRequestDTO request);

    PageVo<StudentAttributeView> getAttributeLog(PageBo pageBo);

    PageVo<StudentAttributeView> searchAttributeLog(AttributeLogRequestDTO request, PageBo pageBo);

    Result<String> updateAttributeLog(AttributeLogRequestDTO request);
}
